﻿using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using HotelManageSystem.Domain.Entities;
using System.Data.Entity.ModelConfiguration.Conventions;

namespace HotelManageSystem.Domain
{
    public class HotelManageSystemDbContext : DbContext
    {
        public HotelManageSystemDbContext() : base("connString") { }

        public virtual IDbSet<ProductCategory> ProductCategories { get; set; }
        public virtual IDbSet<Product> Products { get; set; }
        public virtual IDbSet<ProductProvider> ProductProviders { get; set; }
        public virtual IDbSet<Minimumstock> Minimumstocks { get; set; }
        public virtual IDbSet<Inventory> Inventories { get; set; }
        public virtual IDbSet<Godownentry> Godownentries { get; set; }
        public virtual IDbSet<Deliveryorder> Deliveryorders { get; set; }
        public virtual IDbSet<Warehouse> Warehouses { get; set; }
        public virtual IDbSet<BackProduct> BackProducts { get; set; }

        
        public virtual IDbSet<CertificateType> CertificateTypes { get; set; }
        public virtual IDbSet<Client> Clients { get; set; }
        public virtual IDbSet<ClientConsumption> ClientConsumptions { get; set; }
        public virtual IDbSet<ClientType> ClientTypes { get; set; }
        public virtual IDbSet<CostBill> CostBills { get; set; }
        public virtual IDbSet<CostType> CostTypes { get; set; }

        public virtual IDbSet<Floor> Floors { get; set; }
        public virtual IDbSet<HotelingHistory> HotelingHistories { get; set; }
        public virtual IDbSet<HotelingInfomation> HotelingInfomations { get; set; }

        public virtual IDbSet<Room> Rooms { get; set; }
        public virtual IDbSet<RoomState> RoomStates { get; set; }
        public virtual IDbSet<RoomType> RoomTypes { get; set; }
        public virtual IDbSet<EssentialInfo> Sets { get; set; }
        public virtual IDbSet<Users> Userses { get; set; }

        public virtual IDbSet<Wage> Wages { get; set; }
        public virtual IDbSet<Insure> Insures { get; set; }
        public virtual IDbSet<Finance> Finances { get; set; }
        public virtual IDbSet<Post> PositionWages { get; set; }
        public virtual IDbSet<Department> Departments { get; set; }
        public virtual IDbSet<Employee> Employees { get; set; }
        public virtual IDbSet<Attendance> Attendances { get; set; }

        public virtual IDbSet<ProductDetailIn> ProductDetails { get; set; }
        public virtual IDbSet<ProductDetailOut> ProductDetailOuts { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {

        }
        public virtual void Commit()
        {
            base.SaveChanges();
        }
    }
}
